The background description provided herein is for generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art or suggestions of the prior art by inclusion in this section.
Some applications (e.g., databases and distributed file systems) provide high availability and fault tolerance. These applications often need to place data outside of the fault domain of the network, e.g., deliver the data into a target memory domain of a target system, which may consist of non-volatile memory. Thus, these applications need to know whether and when a data transfer operation over a network has completed.
Traditionally, application software may run on the target system to return an acknowledgement indication of the completion of the data transfer operation. Software-based solutions often require data transfers from the network buffers into the application buffers. Further, software-based solutions may introduce severe restrictions on the implementation, and may add significant overhead to the overall operation, both in terms of network latencies and power consumption.